package com.rookie.data.generate.component;

import com.rookie.data.generate.model.project.TableColumnEntity;
import org.springframework.aop.framework.AopProxy;

import java.lang.annotation.Annotation;

/**
 * @author rookie
 */
public abstract class AbstractAnnotationGenerate {

    /**
     * 生成数据
     *
     * @param table      表属性
     * @param annotation 注解对象
     * @return 数据
     */
    public abstract Object generate(TableColumnEntity table, Annotation annotation);

    /**
     * 获取注解类型
     * @return 注解类型
     */
    public abstract Class<? extends Annotation> getAnnotationClass();
}
